Robots, tele-operation systems, and methods of operating the same

ABSTRACT

The present disclosure describes robots and tele-operation systems where a select control paradigm is selected from a plurality of control paradigms based on an identity of an operator, role of an operator, or expected tasks to be performed by the robot. Generic robots can be operated in accordance with any of the plurality of control paradigms, such that any of said generic robots can serve a role or act as an assistant to an operator by selection of an appropriate control paradigm. Control paradigms can be operator specific, or specific to a faction or role which an operator fits in, or specific to a set of tasks to be performed by the robot. The present disclosure also describes feedback mechanisms by which a robot or tele-operator system receive operator feedback and update a control paradigm, to gradually improve the control paradigm over time.

TECHNICAL FIELD

The present robots, tele-operation systems, and methods generally relateto controlling operation of said robots using said methods andtele-operations systems, and particularly relate to communication,control paradigms, feedback, and training between robots andtele-operation systems.

BACKGROUND

Robots can be controlled or monitored via a tele-operation system. Atele-operation system refers to a system which can receive input from anoperator, and generally communicates with the robot remotely. Exemplarytele-operation systems could include a monitoring station in awarehouse, a VR suite, or a control panel, though many differentvariations of tele-operation system are possible. Remote communicationcan be short-range, such as via RF or optical communication or over alocal network, or can be long-range, such as over broad networks likethe internet.

BRIEF SUMMARY

The present disclosure describes robots and tele-operation systems wherea select control paradigm can be selected from a plurality of controlparadigms based on an identity of an operator, role of an operator, orexpected tasks to be performed by the robot. Generic robots can beoperated in accordance with any of the plurality of control paradigms,such that any of said generic robots can serve a role or act as anassistant to an operator by selection of an appropriate controlparadigm. Control paradigms can be operator specific, or specific to afaction or role which an operator fits in, or specific to a set of tasksto be performed by the robot. The present disclosure also describesfeedback mechanisms by which a robot or tele-operator system receiveoperator feedback and update a control paradigm, to gradually improvethe control paradigm over time.

According to a broad aspect, the present disclosure describes a methodof operation of a robot, the robot comprising at least one processingunit, at least one actuatable component, and a communication interfacecommunicatively coupled to a tele-operation system, the methodcomprising: receiving, by the communication interface, control selectioninput indicating a select control paradigm from a plurality of controlparadigms; selecting and accessing, by the at least one processing unit,the select control paradigm based on the control selection input;determining, by the at least one processing unit, at least one candidateaction of at least one actuatable component based on the select controlparadigm; causing, by the at least one processing unit, actuation of oneor more of the at least one actuatable component in accordance with oneor more of the at least one candidate action; receiving, by thecommunication interface, feedback input on one or more of the at leastone candidate action from the tele-operation system; and updating, bythe at least one processing unit, the select control paradigm based onthe feedback input to produce an updated control paradigm.

Receiving, by the communication interface, control selection inputindicating a select control paradigm from a plurality of controlparadigms may include receiving, by the communication interface, controlselection input indicating the select control paradigm from theplurality of control paradigms based on at least one property selectedfrom a group consisting of: a task to be performed by the robot; adescription of a human operator of the tele-operation system; and adescription of the select control paradigm.

The tele-operation system may be operable by a plurality of candidatehuman operators, the plurality of control paradigms including arespective control paradigm specific to each respective candidate humanoperator; receiving the control selection input may include receiving anidentification of a particular human operator from the plurality ofcandidate human operators; and selecting and accessing the selectcontrol paradigm may comprise selecting the control paradigm specific tothe particular human operator identified in the control selection input.

The tele-operation system may be operable by a plurality of candidatehuman operators; a plurality of subsets of human operators may bedefined among the plurality of candidate human operators, the pluralityof control paradigms may include a respective control paradigm specificto each subset of human operators; receiving, by the communicationinterface, control selection input indicating a select control paradigmfrom a plurality of control paradigms may include receiving, by thecommunication interface, control selection input indicating adescription of a human operator of the tele-operation system; andselecting and accessing the select control paradigm may compriseselecting the control paradigm specific to a subset of human operatorscorresponding to the description of the human operator in the controlselection input.

The robot may be operable to perform a plurality of sets of tasks; theplurality of control paradigms may include a respective control paradigmspecific to each set of tasks; receiving, by the communicationinterface, control selection input indicating a select control paradigmfrom a plurality of control paradigms may include receiving, by thecommunication interface, control selection input indicating at least onetask to be performed by the robot; and selecting and accessing theselect control paradigm may comprise selecting the control paradigmspecific to a set of tasks which includes the at least one taskindicated in the control selection input.

The robot may further include a non-transitory processor-readablestorage medium communicatively coupled to the at least one processingunit, and accessing the select control paradigm may comprise retrievingthe select control paradigm from the non-transitory processor-readablestorage medium by the at least one processing unit.

Accessing the select control paradigm may comprise retrieving, by thecommunication interface, the select control paradigm from thetele-operation system.

The method may further comprise outputting an indication of the at leastone candidate action, receiving feedback input may occur before causingactuation of at least one actuatable component, and receiving feedbackinput may comprise receiving, from the tele-operation system, at leastone instruction selected from a group consisting of: approval to proceedwith one or more actions of the at least one candidate action;disapproval to proceed with the at least one candidate action; and atleast one alternate action instruction indicating an alternate action tobe performed instead of the at least one candidate action. Updating, bythe at least processing unit, the select control paradigm based on thefeedback input may comprise: increasing confidence in the one or more ofthe at least one candidate action if the feedback input indicatesapproval; decreasing confidence in the at least one candidate action ifthe feedback input indicates disapproval; or specifying new behavior orincreasing the confidence of existing behavior in the select controlparadigm which corresponds to the alternate action provided by thetele-operation system.

Receiving feedback input may occur after causing actuation of at leastone actuatable component in accordance with a candidate action, andreceiving feedback input may comprise receiving, from the tele-operationsystem, positive or negative feedback input on the actuation, andupdating, by the at least one processing unit, the select controlparadigm based on the feedback input may comprise: increasing confidencein the candidate action if the feedback input is positive; or decreasingconfidence in the candidate action if the feedback input is negative.

The method may further comprise providing for storage, by the at leastone processing unit, the updated control paradigm for subsequent access.

The robot may further include a non-transitory processor-readablestorage medium communicatively coupled to the at least one processingunit, and the method may further comprise storing the updated controlparadigm in the non-transitory processor-readable storage medium.

The method may further comprise transmitting, by the communicationinterface, the updated control paradigm to be received by thetele-operation system.

According to another broad aspect, the present disclosure describes amethod of operation of at least one robot via a tele-operation system,the tele-operation system comprising at least one processing unit, atleast one input device, and a communication interface communicativelycoupled to the at least one robot, the method comprising: receiving, bythe at least one input device, control selection input indicating aselect control paradigm from a plurality of control paradigms;selecting, by the at least one processing unit, the select controlparadigm from the plurality of control paradigms, based on the receivedcontrol selection input; sending, by the communication interface, to bereceived by the at least one robot, an indication of the select controlparadigm; receiving, by the at least one input device, feedback input onat least one candidate action to be performed by the at least one robotbased on the select control paradigm; and determining, by the at leastone processing unit, at least one update to the select control paradigmbased on the feedback input.

Receiving, by the at least one input device, control selection inputindicating a select control paradigm from a plurality of controlparadigms may include receiving, by the at least one input device,control selection input indicating the select control paradigm from theplurality of control paradigms based on at least one property selectedfrom a group consisting of: a task to be performed by the robot; adescription of a human operator of the tele-operation system; and adescription of the select control paradigm.

The tele-operation system may be operable by a plurality of candidatehuman operators, the plurality of control paradigms may include arespective control paradigm specific to each respective candidate humanoperator; receiving the control selection input may include receiving anidentification of a particular human operator from the plurality ofcandidate human operators; and selecting the select control paradigm maycomprise selecting the control paradigm specific to the particular humanoperator identified in the control selection input.

The tele-operation system may be operable by a plurality of candidatehuman operators; a plurality of subsets of human operators may bedefined among the plurality of candidate human operators, the pluralityof control paradigms may include a respective control paradigm specificto each subset of human operators; receiving, by the at least one inputdevice, control selection input indicating a select control paradigmfrom a plurality of control paradigms may include receiving, by the atleast one input device, control selection input indicating a descriptionof a human operator of the tele-operation system; selecting the selectcontrol paradigm may comprise selecting the control paradigm specific toa subset of human operators corresponding to the description of thehuman operator in the control selection input.

Each control paradigm in the plurality of control paradigms may bespecific to a respective set of tasks in a plurality of sets of tasks tobe performed by the robot; receiving, by the at least one input device,control selection input indicating a select control paradigm from aplurality of control paradigms may include receiving, by the at leastone input device, control selection input indicating at least one taskto be performed by the robot; and selecting the select control paradigmmay comprise selecting a control paradigm specific to a set of taskswhich includes the at least one task indicated in the control selectioninput.

The method may further comprise receiving, by the communicationinterface, an indication of at least one candidate action to beperformed by the at least one robot based on the select controlparadigm; receiving feedback input on at least one candidate action mayoccur before the at least one candidate action is performed by therobot; receiving feedback input on the at least one candidate action maycomprise receiving, by the at least one input device at least onefeedback input selected from a group consisting of: approval to proceedwith at least one candidate action; disapproval to proceed with the atleast one candidate action; and at least one alternate actioninstruction indicating at least one alternate action to be performedinstead of the at least one candidate action; and the method may furthercomprise sending, by the communication interface, the feedback input tobe received by the at least one robot.

Determining, by the at least processing unit, at least one update to theselect control paradigm based on the feedback input may comprise:increasing confidence in the at least one candidate action if thefeedback input indicates approval; decreasing confidence in the at leastone candidate action if the feedback input indicates disapproval; orspecifying new behavior or increasing the confidence of existingbehavior in the select control paradigm which corresponds to the atleast one alternate action.

Receiving feedback input on the at least one candidate action may occurafter a candidate action is performed by the robot, and receivingfeedback input on the performed action may comprise receiving, by the atleast one input device, positive or negative feedback input on theperformed action; determining, by the at least processing unit, at leastone update to the select control paradigm based on the feedback inputmay comprise: increasing confidence in the performed action if thefeedback input is positive; or decreasing confidence in the performedaction if the feedback input is negative.

The select control paradigm may be stored on a non-transitoryprocessor-readable storage medium included in the tele-operation system;and sending, by the communication interface, to be received by the atleast one robot, an indication of the select control paradigm maycomprise: sending, by the communication interface, to be received by theat least one robot, the select control paradigm.

The select control paradigm may be stored on a non-transitoryprocessor-readable storage medium remote from the tele-operation system;and sending, by the communication interface, to be received by the atleast one robot, an indication of the select control paradigm maycomprise: sending, by the communication interface, an indication of theselect control paradigm without sending contents of the select controlparadigm itself.

The method may further comprise providing, by the at least oneprocessing unit, instructions to store an updated control paradigm forsubsequent access based on the at least one update.

According to yet another broad aspect, the present disclosure describesa robot comprising: a body; at least one physically actuatable componentmechanically coupled to the body; at least one processing unit; acommunication interface communicatively coupled to a tele-operationsystem; at least one non-transitory processor-readable storage mediumcommunicatively coupled to the at least one processing unit, the atleast one non-transitory processor-readable storage medium storingprocessor-executable instructions that, when executed by the at leastone processing unit, cause the robot to: receive, by the communicationinterface, control selection input indicating a select control paradigmfrom a plurality of control paradigms; select and access the selectcontrol paradigm based on the control selection input; determine atleast one candidate action of the at least one actuatable componentbased on the select control paradigm; actuate one or more of the atleast one actuatable component in accordance with one or more of the atleast one candidate action; receive feedback input on one or more of theat least one candidate action from the tele-operation system; and updatethe select control paradigm based on the feedback input to produce anupdated control paradigm.

The instructions which cause the robot to receive control selectioninput indicating a select control paradigm from a plurality of controlparadigms may cause the robot to receive, by the communicationinterface, control selection input indicating the select controlparadigm from the plurality of control paradigms based on at least oneproperty selected from a group consisting of: a task to be performed bythe robot; a description of a human operator of the tele-operationsystem; and a description of the select control paradigm.

The tele-operation system may be operable by a plurality of candidatehuman operators, the plurality of control paradigms including arespective control paradigm specific to each respective candidate humanoperator; the instructions which cause the robot to receive the controlselection input may cause the robot to receive, by the communicationinterface, an identification of a particular human operator of theplurality of candidate human operators; and the instructions which causethe robot to select the select control paradigm may cause the robot toselect, by the at least one processing unit, the control paradigmspecific to the particular human operator identified in the controlselection input.

The tele-operation system may be operable by a plurality of candidatehuman operators; a plurality of subsets of human operators may bedefined among the plurality of candidate human operators, the pluralityof control paradigms may include a respective control paradigm specificto each subset of human operators; the instructions which cause therobot to receive, by the communication interface, control selectioninput indicating a select control paradigm from a plurality of controlparadigms may cause the robot to receive, by the communicationinterface, control selection input indicating a description of a humanoperator of the tele-operation system; and the instructions which causethe robot to select the select control paradigm may cause the robot toselect, by the at least one processing unit, the control paradigmspecific to a subset of human operators corresponding to the descriptionof the human operator in the control selection input.

The robot may be operable to perform a plurality of sets of tasks; theplurality of control paradigms may include a respective control paradigmspecific to each set of tasks; the instructions which cause the robot toreceive, by the communication interface, control selection inputindicating a select control paradigm from a plurality of controlparadigms may cause the robot to receive, by the communicationinterface, control selection input indicating at least one task to beperformed by the robot; and the instructions which cause the robot toselect the select control paradigm may cause the robot to select, by theat least one processor, the control paradigm specific to a set of taskswhich includes the at least one task indicated in the control selectioninput.

The instructions which cause the robot to access the select controlparadigm may cause the processing unit to retrieve the select controlparadigm from the non-transitory processor-readable storage medium.

The instructions which cause the robot to access the select controlparadigm may cause the robot to retrieve, by the communicationinterface, the select control paradigm from the tele-operation system.

The instructions may further cause the robot to output, by thecommunication interface, an indication of the at least one candidateaction, and reception of feedback input may occur before actuation of atleast one actuatable component; and the instructions which cause therobot to receive feedback input may cause the robot to receive, from thetele-operation system, at least one instruction selected from a groupconsisting of: approval to proceed with at least one candidate action;disapproval to proceed with the at least one candidate action; and atleast one alternate action instruction indicating an alternate action tobe performed instead of the at least one candidate action.

The instructions which cause the robot to update, by the at leastprocessing unit, the select control paradigm based on the feedback inputmay cause the at least one processing unit to: increase confidence inthe at least one candidate action if the feedback input indicatesapproval; decrease confidence in the at least one candidate action ifthe feedback input indicates disapproval; or specify new behavior orincrease the confidence of existing behavior in the select controlparadigm which corresponds to the alternate action provided by thetele-operation system.

Reception of feedback input may occur after causing actuation of the atleast one actuatable component in accordance with a candidate action;the instructions which cause the robot to receive feedback input maycause the robot to receive, from the tele-operation system by thecommunication interface, positive or negative feedback input on theactuation; and the instructions which cause the robot to update, by theat least one processing unit, the select control paradigm based on thefeedback input may cause the robot to: increase confidence in thecandidate action if the feedback input is positive; or decreaseconfidence in the candidate action if the feedback input is negative.

The instructions may further cause the robot to provide for storage theupdated control paradigm for subsequent access.

The instructions may further cause the robot to store the updatedcontrol paradigm in the non-transitory processor-readable storagemedium.

The instructions may further cause the robot to transmit, by thecommunication interface, the updated control paradigm to thetele-operation system.

The robot may further comprise a plurality of sensors communicativelycoupled to the at least one processing unit, and the instructions mayfurther cause the robot to: collect, by the plurality of sensors,environmental data from an environment of the robot; and transmit, bythe communication interface, the environmental data to be received bythe tele-operation system.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The various elements and acts depicted in the drawings are provided forillustrative purposes to support the detailed description. Unless thespecific context requires otherwise, the sizes, shapes, and relativepositions of the illustrated elements and acts are not necessarily shownto scale and are not necessarily intended to convey any information orlimitation. In general, identical reference numbers are used to identifysimilar elements or acts.

FIG. 1 is a front view of an exemplary human operator who can operate,monitor, or provide feedback or input to robots.

FIG. 2 is a front view of an exemplary robot which approximates humananatomy in accordance with one exemplary implementation.

FIG. 3 is an elevated side view of a robot which approximates only aportion of human anatomy in accordance with one exemplaryimplementation.

FIG. 4 is an elevated side view of a robot which does not approximatehuman anatomy, in accordance with one exemplary implementation.

FIG. 5 is a schematic view of a computing unit which can be used tocontrol a robot in accordance with one exemplary implementation.

FIG. 6 is a front view of an input controller which can be used tocontrol a robot in accordance with one exemplary implementation.

FIG. 7 is a schematic diagram illustrating components of a robot and ofa tele-operator system, in accordance with one exemplary implementation.

FIG. 8 is a flowchart diagram showing a method of operating a robot inaccordance with one exemplary implementation.

FIGS. 9, 10A, 10B, and 11 are schematic illustrations of selection of acontrol paradigm, according to which a robot is controlled, inaccordance with three exemplary implementations.

FIG. 12 is a flowchart diagram which illustrates a method for a robotreceiving input on at least one candidate action to be performed by therobot, in accordance with one exemplary implementation.

FIG. 13 is a flowchart diagram which illustrates a method for a robotreceiving input on an action performed by the robot, in accordance withone exemplary implementation.

FIG. 14 is a flowchart diagram showing a method of operating a robot viaa tele-operation system in accordance with one exemplary implementation.

FIG. 15 is a flowchart diagram which illustrates a method for atele-operation system receiving input on at least one candidate actionto be performed by a robot, in accordance with one exemplaryimplementation.

FIG. 16 is a flowchart diagram which illustrates a method for atele-operation system receiving input on an action performed by a robot,in accordance with one exemplary implementation.

DETAILED DESCRIPTION

The following description sets forth specific details in order toillustrate and provide an understanding of the various implementationsand embodiments of the present systems, devices, and methods. A personof skill in the art will appreciate that some of the specific detailsdescribed herein may be omitted or modified in alternativeimplementations and embodiments, and that the various implementationsand embodiments described herein may be combined with each other and/orwith other methods, components, materials, etc. in order to producefurther implementations and embodiments.

In some instances, well-known structures and/or processes associatedwith computer systems and data processing have not been shown orprovided in detail in order to avoid unnecessarily complicating orobscuring the descriptions of the implementations and embodiments.

Unless the specific context requires otherwise, throughout thisspecification and the appended claims the term “comprise” and variationsthereof, such as “comprises” and “comprising,” are used in an open,inclusive sense to mean “including, but not limited to.”

Unless the specific context requires otherwise, throughout thisspecification and the appended claims the singular forms “a,” “an,” and“the” include plural referents. For example, reference to “anembodiment” and “the embodiment” include “embodiments” and “theembodiments,” respectively, and reference to “an implementation” and“the implementation” include “implementations” and “theimplementations,” respectively. Similarly, the term “or” is generallyemployed in its broadest sense to mean “and/or” unless the specificcontext clearly dictates otherwise.

The headings and Abstract of the Disclosure are provided for convenienceonly and are not intended, and should not be construed, to interpret thescope or meaning of the present systems, devices, and methods.

The various embodiments described herein provide robots, tele-operationsystems, and methods generally relating to controlling operation of saidrobots using said methods and tele-operations systems. Control of arobot preferably leaves some decision-making in the purview of therobot, such that a human operator is not required to manually provideinput for each action a robot is to perform. To achieve this, robots areprovided with some form of Artificial Intelligence (AI). AI can beinterpreted very broadly, and generally refers to the robot havingability to make decisions about actions to be performed. Als can includeany of (or any combination of) instructions, data, parameters, settings,algorithms, policies, models, classifiers, rules, or other aspects whichenable the robot to perform some kind of decision making (theseindividual aspects, while possible in combination, are not eachrequired). Alternative exemplary terms for AI can include controlparadigm, control framework, or control model. When used to governmovement of a robot, an AI can also be referred to as an AI pilot. Toimprove a machine learning based AI, it is desirable to be able toprovide instructions, feedback, or input to the AI, which allows the AIto learn and become more accurate or more specific to certain tasks overtime.

FIG. 1 is a front view of an exemplary human operator 100, who canoperate, monitor, or provide feedback or input to robots. In theexample, operator 100 is equipped with motion sensors 102-1, 102-2,102-3, 102-4, 102-5, 102-6, 102-7, 102-8, 102-9, 102-10, 102-11, 102-12,102-13, and 102-14 (collectively “102”). The motion sensors 102 areequipped to the operator 100 and capture motion data for specificanatomical regions, as detailed in Table 1 later.

More or fewer motion sensors 102 could be used as appropriate for agiven application. Further, although most of the sensors 102 areillustrated as being separate bands worn by the operator, other forms ofsensor could be used. Examples include adhesive sensors, or a body suitwhich has sensors attached or embedded therein. Further, sensors 102-7,102-8, 102-13, and 102-14 are illustrated as boots or gloves worn on thehands or feet of operator 100, and have sensors therein which capturedetailed motion data of the hands and feet. However, other sensorimplementations are possible, including bands or rings worn on thefingers or toes of operator 100. Motion data from sensors 102 isreceived by a computing unit 110. Computing unit 110 can provide inputto a robot based on or including the motion data. In this way, sensors102 and computing unit 110 act as at least part of a “tele-operatorsystem”, by which an operator can provide input or feedback to a robot.

FIG. 2 is a front view of an exemplary robot 200 in accordance with oneimplementation. In the illustrated example, robot 200 is designed toapproximate human anatomy, including a number of actuatable components202-1, 202-2, 202-3, 202-4, 202-5, 202-6, 202-7, 202-8, 202-9, 202-10,202-11, 202-12, 202-13, and 202-14 (collectively, “202”) whichapproximate anatomical features. More or fewer anatomical features couldbe included as appropriate for a given application. Further, how closelya robot approximates human anatomy can also be selected as appropriatefor a given application. The tele-operation system of FIG. 1 can be usedto operate, control, or provide input or feedback to the robot 200. Inthis example, data from each of the motion sensors 102 can be used todrive or provide instructions for causing actuation of a correspondingactuatable component 202 of robot 200. Table 1 below details the anatomyto which each sensor 102 in FIG. 1 is equipped, as well as theactuatable components 202 in FIG. 2 which correspond to said anatomy.

TABLE 1 FIG. 2 Actuatable Anatomy FIG. 1 Sensor Component Head 102-1202-1 Torso 102-2 202-2 Right Thigh 102-3 202-3 Left Thigh 102-4 202-4Right Calf 102-5 202-5 Left Calf 102-6 202-6 Right Foot 102-7 202-7 LeftFoot 102-8 202-8 Right Bicep 102-9 202-9 Left Bicep  102-10  202-10Right Forearm  102-11  202-11 Left Forearm  102-12  202-12 Right Hand 102-13  202-13 Left Hand  102-14  202-14

Actuators, motors, or other movement devices can couple togetheractuatable components. Driving said actuators, motors, or other movementdriving mechanism causes actuation of the actuatable components. Forexample, rigid limbs in a humanoid robot can be coupled by motorizedjoints, where actuation of the rigid limbs is achieved by drivingmovement in the motorized joints.

Robot 200 in FIG. 2 very closely approximates human anatomy, such thatinput to or control of robot 200 can be provided by the operator 100performing an action, to be replicated by the robot. In someimplementations, it is possible to even more closely approximate humananatomy, such as by inclusion of actuatable components in a face on thehead 202-1 of robot 200, or with more detailed design of hands 202-13and 202-14 of robot 200, as non-limiting examples. However, in otherimplementations a complete approximation of the human anatomy is notrequired. FIG. 3 is an elevated side view of a robot 300, whichapproximates only a portion of human anatomy. In particular, robot 300includes a base or stand 304, having actuatable components 302-1, 302-2,and 302-3 coupled thereto. In the example, actuatable components 302-1,302-2, and 302-3 approximate an arm of a human. To provide input torobot 300, operator 100 could rely on the motion sensors worn on eitherarm. For example, motion data from sensors 102-9, 102-11, and 102-13could be used to drive motion of actuatable components 302-1, 302-2, and302-3, respectively. Alternatively, motion data from sensors 102-10,102-12, and 102-14 could be used to drive motion of actuatablecomponents 302-1, 302-2, and 302-3, respectively. When providing inputto robot 300, operator 100 does not need to wear all of the motionsensors 102 illustrated in FIG. 1. FIG. 3 illustrates a robot whichapproximates only an arm of human anatomy; this is merely anillustrative example, and other portions of human anatomy could beapproximated instead. As non-limiting examples, only a head or facecould be approximated; or only a leg could be approximated.

FIGS. 2 and 3 illustrate robots which at least partially approximatehuman anatomy. However, this is not necessarily the case. FIG. 4 is anelevated side view of a robot 400 which does not approximate humananatomy. Robot 400 includes a body 406, having actuatable components402-1, 402-2, and 402-3 coupled thereto via a stand 404. Body 406 haswheels 408-1 and 408-2 coupled thereto, which provide movementcapabilities to the robot. Wheels 408-1 and 408-2 do not approximatehuman anatomy, but input can still be provided by operator 100 to drivemovement of the robot 400, by abstracting the nature of the input. Forexample, operator 100 could walk forward, and computing unit 110 couldprocess captured motion data to provide input to robot 400, as an inputinstruction for robot 400 to drive forward. Similar abstraction canoccur for other movements of the robot, including turning or actuationof actuatable components 402-1, 402-2, and 402-3.

Abstraction of input is useful for all forms of tele-operation systemand robot. For example, even in the case of robot 200 which closelyapproximates human anatomy, abstraction of input is useful for providinga simpler means of providing input or feedback. Exemplary forms ofabstracted input are discussed below with reference to FIGS. 5 and 6.

FIG. 5 is a schematic view of a computing unit, including a computer502, with a display 504, a keyboard 506, and a mouse 508 communicativelycoupled thereto. An operator of computing unit 500 could for exampleselect actions displayed on display 504 using keyboard 506 or mouse 508.As another example, a video feed from a camera of a robot could bedisplayed on display 504, and an operator could control movement of therobot using keyboard 506 and/or mouse 508. The specific componentsillustrated in FIG. 5 are exemplary, and could be removed, substituted,or supplemented as appropriate for a given application. For example,computing unit 500 could comprise an integrated laptop. As anotherexample, display 504 could be omitted, and an operator could control arobot by looking at the robot directly. As another example, keyboard 506and mouse 508 could be replaced or supplemented by other input devices,such as a microphone, trackpad, joystick, touchscreen, or any otherappropriate input device.

FIG. 6 is a front view of an input controller 600, which includesdirectional input buttons 602, and other input buttons 604. The exactbuttons included could be determined as appropriate for a givenapplication. In an example use case, a robot could be made to move inspecific directions by pressing appropriate directional input buttons602. Other actions, such as opening or closing a gripper, moving an arm,or any other appropriate actions, could be performed by pressing buttons604.

FIGS. 5 and 6 are merely illustrative examples of certain forms ofabstracted input. Other forms of abstracted input could be implementedand used as appropriate for a given application.

To develop a robot which can be operated by abstracted input, accordingto one implementation, the robot could first be operated usingnon-abstracted input, and gradually trained to operate based onabstracted input. For example, robot 200 can be operated explicitlyusing the tele-operation system depicted in FIG. 1, with operator 100performing actions for duplication or emulation by robot 200. Over time,a control paradigm by which robot 200 is controlled is trained to learnmotions and actions, without needing to duplicate or emulate operator100. At this stage, abstracted forms of input can be used. For example,a control paradigm for robot 200 could learn to walk and balance byduplicating or emulating a walking motion of operator 100 in FIG. 1.This process can be reinforced by having robot 200 walk, with operator100 only providing input when the control paradigm is failing to causerobot 200 to perform the desired motion, or when the control paradigm isuncertain how robot 200 should proceed.

In addition to or separate from a control paradigm learning to receiveabstracted input, the control paradigm can learn to operateautonomously. Learning processes are detailed in FIGS. 12, 13, 14, 15,and 16 below.

FIG. 7 is a schematic diagram illustrating components of a robot andtele-operator system, as is pertinent to at least the methodsillustrated in FIGS. 8,12, 13, 14, 15, and 16. FIG. 7 includes a robot700 and a tele-operator system 750.

Robot 700 is shown as including at least one processing unit 702, anon-transitory processor readable medium 704, a wireless communicationinterface 706, a wired communication interface 708, at least oneactuatable component 710, and at least one sensor 712. However, certaincomponents could be omitted or substituted, or elements could be added,as appropriate for a given application. For example, in implementationswhere a control paradigm according to which actuatable portion 710 isactuated is stored external to robot 700, robot 700 may not neednon-transitory processor-readable storage medium 704 with which to storesaid control paradigm. As another example, in many implementations onlyone communication interface is needed, so robot 700 may include only oneof wireless communication interface 706 or wired communication interface708. Further, the at least one actuatable portion 710 is similar to thatin robot 300 illustrated in FIG. 3. However, any appropriate structureof at least one actuatable portion could be implemented, for examplerobot 200 in FIG. 2, or robot 400 in FIG. 4. Further still, the at leastone sensor 712 is optional. The at least one sensor 712 can includesensors which collect environmental data pertaining to the robot 700,such as an image sensor, a microphone, a temperature sensor, a humiditysensor, or any other appropriate environmental sensor. The at least onesensor 712 can include sensors which collect performance data pertainingto robot 700, such as force or torque sensors, an accelerometer,gyroscope, or any other appropriate sensors. Data from the sensors canbe used to provide input for updating the control paradigm, and/or as anindication of the status or condition of robot 700 for reference by anoperator of tele-operation system 750. To this end, data from thesensors 712 can be sent from robot 700 to tele-operation system 750 bycommunication interface 706 or 708.

Tele-operation system 750 is shown as including at least one processingunit 752, a non-transitory processor-readable medium 754, a wirelesscommunication interface 756, a wired communication interface 708, atleast one input device 758, and an output device 760. However, certaincomponents could be omitted or substituted, or elements could be added,as appropriate for a given application. For example, in implementationswhere a control paradigm according to which actuatable portion 710 ofrobot 700 is actuated is stored on non-transitory processor-readablemedium 704 of robot 700, tele-operation system 750 may not neednon-transitory processor-readable storage medium 754 with which to storesaid control paradigm, or even the at least one processor 752. In such acase, tele-operation system 750 can receive input via the at least oneinput device 758 and provide this input directly to robot 700 overwireless communication interface 756 or wired communication interface708. As yet another example, in some implementations non-transitoryprocessor-readable storage medium 754 can be in a server, which isremote from the other components of tele-operation system 750. In suchimplementations, such a server may still be considered as part oftele-operation system 750. As yet another example, in manyimplementations only one communication interface is needed, sotele-operation system 750 may include only one of wireless communicationinterface 756 or wired communication interface 708. As yet anotherexample, output device 760 can provide information to an operator oftele-operation system 750, but is not essential. For example, theoperator could instead look directly at robot 700 without the need foroutput device 760. Additionally, output device 760 is illustrated as adisplay, but other output devices are possible, such as speakers, as anon-limiting example. Similarly, the at least one input device 758 isillustrated as a keyboard and mouse, but other input devices arepossible, such as those discussed with reference to FIGS. 1 and 6.

In some implementations, tele-operation device 750 is portable, so thatan operator can carry tele-operation device 750 with them. This enablesan operator to move about an environment, yet still have access to thetele-operation system 750 for providing input to at least one robot 700.In some implementations, tele-operation device 750 is partiallyportable. For example, input device 758 could be portable, and the restof tele-operation device 750 can be stationary or non-portable. Inputdevice 758 is in communication with the rest of tele-operation device750, such as by a wireless or wired communication interface. Thisenables an operator to move about an environment, yet still have accessto the tele-operation system 750 for providing input to at least onerobot 700, without requiring that the entire tele-operation system beportable. In some implementations, robot 700 could carry all or part oftele-operation system 750. This enables an operator to move about anenvironment with robot 700, and have access to the tele-operation system750 for providing input to the robot. In other implementations, robot700 and tele-operation system 750 are physically disconnected andseparate.

FIG. 8 is a flowchart diagram showing an exemplary method 800 ofoperating a robot in accordance with the present disclosure. Method 800as illustrated includes acts 802, 804, 806, 808, 810, 812, and 814,though those of skill in the art will appreciate that in alternativeimplementations certain acts may be omitted and/or additional acts maybe added. Those of skill in the art will also appreciate that theillustrated order of the acts is shown for exemplary purposes only andmay change in alternative implementations. For illustrative purposes,the acts of method 800 are described from the perspective of exemplaryrobot 700, though other robots with similar hardware could be usedinstead.

At 802, communication interface 706 or 708 receives control selectioninput indicating a select control paradigm from a plurality of controlparadigms. The control selection input can indicate the select controlparadigm from the plurality of control paradigms based on at least oneproperty selected from a group consisting of: a task to be performed bythe robot; a description of a human operator of the tele-operationsystem; and a description of the select control paradigm. Examples ofcontrol selection input are described in detail later with reference toFIGS. 9, 10A, 10B, and 11.

At 804, the at least one processing unit 702 selects and accesses theselect control paradigm based on the control selection input. In someimplementations, the plurality of control paradigms is stored onnon-transitory processor-readable storage medium 704 of robot 700. Insuch implementations, accessing the select control paradigm comprisesretrieving the select control paradigm from non-transitoryprocessor-readable storage medium 704, by the at least one processingunit 702. In other implementations, the plurality of control paradigmsis stored on non-transitory processor-readable medium 754 (includingimplementations where non-transitory processor-readable storage medium754 is remote from the other components of tele-operation system 750).In such implementations, accessing the select control paradigm comprisesretrieving the select control paradigm from non-transitoryprocessor-readable storage medium 754, via communication interface 706or 708. For example a copy of the select control paradigm can be movedto non-transitory processor-readable medium 704, for quick access by theat least one processing unit 702. In other examples the robot 700 can beoperated directly from the select control paradigm stored innon-transitory processor-readable medium 754.

At 806, the at least one processing unit 702 determines at least onecandidate action of the at least one actuatable component 710, based onthe select control paradigm. For example, the select control paradigmcan be an AI pilot that has been at least partially trained to have atleast some autonomous capability (such as through the proceduresdiscussed later with reference to FIGS. 12, 13, 15, and 16). Based onthis autonomous capability, at least one candidate action can bedetermined that may be appropriate given the situation, circumstance, orenvironment of robot 700.

At 808, the at least one processing unit 702 causes actuation of one ormore of the at least one actuatable component 710 in accordance with oneor more of the at least one candidate action. In some implementations,act 808 can be performed prior to acts 810 and 812 (as is discussed indetail later with reference to FIG. 13). In other implementations, act808 can be performed after acts 810 and 812 (as is discussed in detaillater with reference to FIG. 12).

At 810, the communication unit 706 or 708 receives feedback input on oneor more of the at least one candidate action from the tele-operationsystem 750. At 812, the at least one processing unit 702 updates theselect control paradigm based on the feedback input to produce anupdated control paradigm. Detailed means for receiving feedback inputand updating the select control paradigm are discussed later withreference to FIGS. 12 and 13.

At 814, the at least one processing unit 702 provides for storage theupdated control paradigm for subsequent access. For example, inimplementations where the plurality of control paradigms is stored onthe non-transitory processor-readable storage medium 704 of robot 700,the updated control paradigm is also stored on non-transitoryprocessor-readable storage medium 704. In some examples the updatedcontrol paradigm can replace the select control paradigm in storage. Inother examples the updated control paradigm can be stored in addition tothe select control paradigm, so that either the updated or non-updatedcontrol paradigm can be accessed in the future. In implementations wherethe plurality of control paradigms is stored on non-transitoryprocessor-readable medium 754 (including implementations wherenon-transitory processor-readable storage medium 754 is remote from theother components of tele-operation system 750), the updated controlparadigm is transmitted by communication interface 706 or 708, to bereceived by tele-operation unit 750, and stored on non-transitoryprocessor-readable storage medium 754.

In some implementations, non-transitory processor-readable storagemedium 704 of robot 700 can have instructions stored thereon which, whenexecuted by the at least one processing unit 702, cause robot 700 toperform method 800 as detailed in FIG. 8. For acts which involve causingrobot 700 to receive input, such as acts 802 and 810, when implementedas instructions such instructions can cause the robot 700 to monitor foran input signal, detect an input signal, and/or process a detected inputsignal. This applies to similar acts of receiving input throughout thisdisclosure.

FIGS. 9, 10A, 10B, and 11 are schematic illustrations of selection of acontrol paradigm, as pertains to act 804 as shown in FIG. 8 anddiscussed above, and as pertains to act 1404 shown in FIG. 14 discussedlater. FIGS. 9, 10A, 10B, and 11 illustrate selection of a controlparadigm for controlling a robot 700, as is illustrated in FIG. 7 anddescribed above. However, a control paradigm can be selected for anyappropriate robot, including robots 200, 300, 400, or any other robotsuitable for a given application.

In FIG. 9, a plurality of candidate operators 902, 904, and 906 can use,control, or operate robot 700. Although three candidate operators areillustrated, in practice fewer or more candidate operators can use robot700, as appropriate for a given application. In this sense, to “use” arobot refers to having the robot perform a set of tasks which arehelpful to an operator or required by an operator. Performing such a setof tasks could entail the robot performing tasks to fulfill a desiredrole autonomously or independently (apart from training feedback), orcould entail the robot performing a set of sub-tasks which help theoperator to perform a greater set of tasks. For example, a robotcontrolled according to a janitorial control paradigm could perform aset of cleaning tasks of a space, such that the space is cleanedentirely by the robot. Alternatively, a robot controlled according to ajanitorial control paradigm could perform a set of sub-tasks whichassist a human janitor in performing greater janitorial tasks. Forexample, the robot could carry tools and pass them to the janitor atappropriate times.

FIG. 9 illustrates that a single robot (or a single model of robot) 700could be used by a plurality of different operators 902, 904, and 906for different purposes, and controlled according to different controlparadigms specific to each operator's needs. To achieve this, in theimplementation of FIG. 9 the plurality of control paradigms includes arespective control paradigm specific to each respective candidate humanoperator 902, 904, and 906. To use robot 700, a particular operator ofthe candidate operators 902, 904, and 906 inputs an identification ofthemselves to tele-operation system 750 by input device 758. Forexample, the particular operator can input their name, username,identification number, and/or passcode by input device 758 (e.g. bytyping with a keyboard, or speaking into a microphone). Apart from theillustrated input device, a useful input device for inputtingidentification could be an ID card reader, a facial recognition device,a microphone, a fingerprint reader, or any other appropriateidentification verification device. The input identification acts as acontrol selection input indicative of a control paradigm correspondingto the identified candidate operator. Tele-operation system 750 sendsthis control selection input by communication interface 756 or 708, torobot 700, to be received by communication interface 706 or 708.

In some implementations, the identification of the operator is sent torobot 700. Robot 700 receives the control selection input bycommunication interface 706 or 708, and selects and accesses the selectcontrol paradigm which is specific to the particular operator identifiedin the control selection input. This entails the at least one processor702 determining the select control paradigm which corresponds to theidentity of the particular operator, and retrieving this select controlparadigm from a storage location of the plurality of control paradigms(e.g., from non-transitory processor-readable medium 704, ornon-transitory processor-readable medium 754).

In other implementations, the select control paradigm corresponding tothe operator is determined by the at least one processor 752 oftele-operation system 750, and an indication of the select controlparadigm (such as an ID number and/or storage location) is sent to robot700. Robot 700 receives this indication of the control paradigm bycommunication interface 706 or 708, and retrieves this select controlparadigm from a storage location of the plurality of control paradigms(e.g., from non-transitory processor-readable medium 704, ornon-transitory processor-readable medium 754).

In yet other implementations, the control paradigm corresponding to theoperator is determined by the at least one processor 752 oftele-operation system 750, and the control paradigm is retrieved (suchas from non-transitory processor-readable medium 754) and sent to robot700. In such an implementation, robot 700 receives the control paradigmfor controlling robot 700 by communication interface 706 or 708.

In FIG. 10A, a plurality of candidate operators can use robot 700. FIG.10A illustrates a plurality of subsets of candidate operators 1002,1004, and 1006. Each subset of candidate operators can include one ormore candidate operators. The subsets of candidate operators are definedaccording to a role, vocation, faction, purpose, or set of duties towhich each candidate operator is correlated. In the example of FIG. 10A,subset 1002 includes candidate operators with a culinary role orvocation (e.g., chef, food preparation, or similar); subset 1004includes candidate operators with a construction role or vocation (e.g.,construction worker, maintenance worker, or similar); and subset 1006includes candidate operators with a security role or vocation (e.g.police officer, security guard, or similar). Although three subsets ofcandidate operators are illustrated, in practice fewer or more subsetsof candidate operators can use robot 700, as appropriate for a givenapplication. Further, the delineation between subsets is merelyexemplary, and any appropriate delineation between subsets could be usedas appropriate for a given application. Many more delineations could beadded, or delineations could be simplified or reduced. Exemplarydelineations could be based on geographic location, common interests,common team, common rank, common language, common culture, commoncohort, or common operating style, as non-limiting examples.

Each subset of candidate operators can have different needs or tasksexpected to be performed by robot 700. FIG. 10A illustrates that asingle robot (or a single model of robot) 700 could be used by aplurality of different operators 1002, 1004, and 1006 for differentpurposes, and controlled according to different control paradigmsspecific to a role or vocation of a particular operator. To achievethis, in the implementation of FIG. 10A the plurality of controlparadigms includes a respective control paradigm specific to eachrespective subset of candidate human operators 1002, 1004, and 1006. Touse robot 700, a particular operator of the candidate operators inputsan identification of themselves, an identification of their role (ordescription of themselves), or an identification of a desired controlparadigm to tele-operation system 750 by input device 758. Inputting theidentification could comprise an operator selecting appropriateidentification (e.g. an operator selecting a role or specific controlparadigm from a menu indicating a plurality of available roles orcontrol paradigms). This identification acts as a control selectioninput indicative of a control paradigm corresponding to the desiredsubset of candidate operators. Tele-operation system 750 sends thiscontrol selection input by communication interface 756 or 708, to robot700, to be received by communication interface 706 or 708.

In some implementations, identification of a particular operator is sentto robot 700 as the control selection input. Robot 700 receives thecontrol selection input by communication interface 706 or 708, andselects and accesses the select control paradigm which is specific tothe subset of candidate operators to which the particular operatoridentified in the control selection input belongs. This entails the atleast one processor 702 determining the subset of candidate operators towhich the particular operator belongs, determining the select controlparadigm which corresponds to the subset of candidate operators, andretrieving this select control paradigm from a storage location of theplurality of control paradigms (e.g., from non-transitoryprocessor-readable medium 704, or non-transitory processor-readablemedium 754).

In other implementations, identification of the role of a particularoperator (or description of the particular operator) is sent to robot700 as the control selection input. This could be because this is whatwas input by the particular operator via input device 758, or becausethe at least one processor 752 determined this identification of role ordescription from an input by an operator to input device 758 whichidentified the particular operator. Robot 700 receives the controlselection input by communication interface 706 or 708, and selects andaccesses the select control paradigm which is specific to the subset ofcandidate operators identified by the control selection input. Thisentails the at least one processor 702 determining the subset ofcandidate operators based on the identification of role or descriptionof the particular operator (the description in some examples couldexplicitly indicate the appropriate subset of candidate operators),determining the select control paradigm which corresponds to the subsetof candidate operators, and retrieving this select control paradigm froma storage location of the plurality of control paradigms (e.g., fromnon-transitory processor-readable medium 704, or non-transitoryprocessor-readable medium 754).

In yet other implementations, identification of the appropriate subsetof candidate operators is sent to robot 700 as the control selectioninput, such as in cases where the subset of candidate operators is inputby the particular operator. Processor 702 then retrieves this selectcontrol paradigm from a storage location of the plurality of controlparadigms (e.g., from non-transitory processor-readable medium 704, ornon-transitory processor-readable medium 754).

In yet other implementations, the select control paradigm correspondingto the subset of candidate operators is determined by the at least oneprocessor 752 of tele-operation system 750 (such as from an identity ofthe particular operator, an identification of the role of the particularoperator, or a description of the particular operator similarly to asdiscussed above). An indication of the select control paradigm (such asan ID number and/or storage location) is sent to robot 700 bycommunication interface 756 or 708. Robot 700 receives this indicationof the control paradigm by communication interface 706 or 708, andretrieves this select control paradigm from a storage location of theplurality of control paradigms (e.g., from non-transitoryprocessor-readable medium 704, or non-transitory processor-readablemedium 754).

In yet other implementations, the select control paradigm correspondingto the subset of candidate operators is determined by the at least oneprocessor 752 of tele-operation system 750 (such as from an identity ofthe particular operator, an identification of the role of the particularoperator, or a description of the particular operator similarly to asdiscussed above), and the select control paradigm is retrieved (such asfrom non-transitory processor-readable medium 754) and sent to robot 700by communication interface 756 or 708. In such an implementation, robot700 receives the select control paradigm for controlling robot 700 bycommunication interface 706 or 708.

Advantageously, a control paradigm common to each subset of candidateoperators can be trained and learned based on use and feedback input byany one operator in a subset of candidate operators. In this way,learning between operators with similar roles can be shared, whichexpedites the learning process, and improves robustness of learnedalgorithms.

FIG. 10B illustrates a similar scenario to FIG. 10A, and the discussionof FIG. 10A applies to FIG. 10B, especially as it pertains to selectionand access of a select control paradigm corresponding to a subset ofcandidate operators. One difference between FIG. 10A and FIG. 10B isthat in FIG. 10B, individual candidate operators within subsets ofcandidate operators are illustrated (whereas FIG. 10A illustratesrepresentative operators 1002, 1004, and 1006 each representing a subsetof candidate operators). In FIG. 10B, a first subset of candidateoperators 1012 and a second subset of candidate operators 1014 areshown. Subset 1012 includes three candidate operators, and subset 1014includes three candidate operators, though any appropriate number ofcandidate operators could be included in each subset. Further, eachsubset can have a different number of candidate operators from anothersubset. Further still, more subsets of candidate operators could beincluded. Within each subset, the candidate operators have at least oneaspect in common. For example, each candidate operator within a subsetcan have a common job, common set of responsibilities, common geographiclocation, common interests, common team, common rank, common language,common culture, common cohort, common operating style, or any otherappropriate common aspect. For the candidate operators in subset 1012,robot 700 can be operated according to a control paradigm 1022. For thecandidate operators in subset 1014, robot 700 can be operated accordingto a control paradigm 1024. Further, control paradigm 1022 can beupdated based on feedback input from any of the candidate operators insubset 1012, and control paradigm 1024 can be updated based on feedbackinput from any of the candidate operators in subset 1014 (exemplarymethods of updating a control paradigm are discussed below withreference to FIGS. 12, 13, 15, and 16). Candidate operators in subset1012 “share” control paradigm 1022, and candidate operators in subset1014 “share” control paradigm 1024. This sharing of a control paradigmamong a plurality of candidate operators increases the training speed ofthe control paradigm, by providing more data for the training of thecontrol paradigm. This sharing of a control paradigm can also result ina more robust and effective control paradigm, by providing more diversedata for training (since the data comes from a plurality of differentoperators with their own styles and idiosyncrasies). Further, becausethe candidate operators are grouped into subsets based on at least onecommon aspect between the candidate operators, a resulting controlparadigm will be especially robust as it regards the common aspect oraspects, because the control paradigm will receive training on how tosolve similar problems from different viewpoints. For example, ifcandidate operators are grouped into subsets such that each candidateoperator in a subset has a common job or vocation, a control paradigmtrained based on a given subset will be very robust at handling a job orvocation corresponding to the subset, since it will be given a diversearray of data regarding how different operators perform the same job orvocation.

Further, subsets are not required to be exclusive, and subsets cancontain further subsets. For example, candidate operators could begrouped into subsets based on common language, then grouped into furthersubsets based on job or vocation. As another example, candidateoperators could have more than one important aspect, and could begrouped into a plurality of different subsets based on each importantaspect. For example, a candidate operator could have more than onevocation, and could be grouped into multiple subsets based on thesemultiple vocations. In such cases, a candidate operator may select anappropriate control paradigm for a given task from a plurality ofcontrol paradigms available to them.

In FIG. 11, a robot 700 can be controlled based on a set of tasks or arole for which the robot 700 is responsible, regardless of who anoperator of the robot 700 is or what the operator's role is. FIG. 11illustrates an operator 1102, and a plurality of roles (or sets oftasks) 1112, 1114, and 1116 which the robot 700 is operable to perform.In the example of FIG. 11, role 1112 includes culinary tasks (e.g.,chef, food preparation, or similar); role 1114 includesconstruction-related tasks (e.g., construction worker, maintenanceworker, or similar); and role 1116 includes security-related tasks (e.g.police officer, security guard, or similar). Although three roles (setsof tasks) are illustrated, in practice robot 700 can be operated toserve fewer or more roles, as appropriate for a given application.Further, the delineation between roles is merely exemplary, and anyappropriate delineation between roles could be used as appropriate for agiven application. Many more delineations could be added, ordelineations could be simplified or reduced.

FIG. 11 illustrates that a single robot (or a single model of robot) 700could be controlled according to different control paradigms specific todifferent roles or sets of tasks specific to a situation. In particular,in the implementation of FIG. 11 the plurality of control paradigmsincludes control paradigms 1122, 1124, and 1126 specific to eachrespective role or set of tasks 1112, 1114, and 1116. To use robot 700,operator 1102 inputs an identification of the role to be performed, oran identification of a desired control paradigm to tele-operation system750 by input device 758. This identification acts as a control selectioninput indicative of a control paradigm corresponding to the desired roleor set of tasks. For example, as control selection input operator 1102can input an identification of role 1112 for which control paradigm 1122will be selected; operator 1102 can input an identification of role 1114for which control paradigm 1124 will be selected; or operator 1102 caninput an identification of role 1116 for which control paradigm 1126will be selected. In alternative examples, operator 1102 could directlyinput identification of a control paradigm 1122, 1124, or 1126 foroperation of robot 700 according to the selected control paradigm.Tele-operation system 750 sends this control selection input to robot700 by communication interface 706 or 708. The role of operator 1102does not need to match the role or set of tasks which are to beperformed by robot 700 (though in some cases it can). In some examples,the role of operator 1102 can be to oversee a plurality of robotsserving different roles.

In some implementations, identification of a role or set of tasks issent to robot 700 as the control selection input. Robot 700 receives thecontrol selection input by communication interface 706 or 708, andselects and accesses the select control paradigm which is specific tothe role or set of tasks identified in the control selection input. Thisentails the at least one processor 702 determining the select controlparadigm which corresponds to the role or set of tasks, and retrievingthis select control paradigm from a storage location of the plurality ofcontrol paradigms (e.g., from non-transitory processor-readable medium704, or non-transitory processor-readable medium 754).

In other implementations, the select control paradigm corresponding tothe role or set of tasks is sent to robot 700 from tele-operation system750. This could be because the select control paradigm is determined bythe at least one processor 752 of tele-operation system 750 based on theidentification of role or set of tasks similarly to as discussed above,or because the select control paradigm was indicated in the input fromoperator 1102. An indication of the select control paradigm (such as anID number and/or storage location) is sent to robot 700. Robot 700receives this indication of the control paradigm by communicationinterface 706 or 708, and retrieves this select control paradigm from astorage location of the plurality of control paradigms (e.g., fromnon-transitory processor-readable medium 704, or non-transitoryprocessor-readable medium 754).

In yet other implementations, the select control paradigm correspondingto the role or set of tasks is determined by the at least one processor752 of tele-operation system 750, or is identified to tele-operationsystem 750 in the input from operator 1102, and the select controlparadigm is retrieved (such as from non-transitory processor-readablemedium 754) and sent to robot 700. In such an implementation, robot 700receives the select control paradigm for controlling robot 700 bycommunication interface 706 or 708.

Advantageously, providing a respective control paradigm specific to eachrole or set of tasks enables operation of robot 700 by an operator whois not necessarily skilled in each task, or allows an operator tooversee a plurality of robots performing different roles or sets oftasks, as non-limiting examples.

FIG. 12 is a flowchart diagram of a method 1200. Method 1200 fits withinmethod 800 described above with reference to FIG. 8, with FIG. 12providing additional context and detail regarding an exemplaryimplementation of acts 806, 808, 810, and 812 in method 800 describedwith reference to FIG. 8. Additional acts 1202, 1222, 1224, and 1226 aredescribed in method 1200. Further, different feedback inputs arelabelled as 1212, 1214, and 1216. Additional acts could be added, actscould be reordered, or acts could be removed, as appropriate for a givenapplication. FIG. 12 depicts an implementation where a robot determinesat least one candidate action and seeks feedback input on the at leastone candidate action prior to performing any candidate action. FIG. 12illustrates acts from a perspective of a robot. A similar methoddescribed from the perspective of a tele-operator system is describedwith reference to FIG. 15 later. The acts of method 1200 are describedbelow with reference to robot 700 and tele-operator system 750 asillustrated in FIG. 7, though other robots or tele-operator systems withsimilar hardware could also be used.

In act 806, at least one processing unit 702 of robot 700 determines atleast one candidate action of at least one actuatable component 710based on a select control paradigm, as described above with reference toFIG. 8.

In act 1202, the robot 700 outputs an indication of the at least onecandidate action. The indication is transmitted by communicationinterface 706 or 708, to be received by communication interface 756 or708 of tele-operation system 750, and an operator of the teleoperatorsystem 750 inputs feedback input on one or more of the at least onecandidate action by input device 758.

Act 810-a in method 1200 shows a specific implementation of act 810shown in FIG. 8. In act 810-a , the robot 700 receives, by communicationinterface 706 or 708, the feedback input on the one or more of the atleast one candidate action. This feedback input can be sent bycommunication interface 756 or 708 of tele-operation system 750. Thefeedback input comprises at least one instruction selected from a groupconsisting of: approval to proceed with one or more actions of the atleast one candidate action (shown at 1212); disapproval to proceed withthe at least one candidate action (shown at 1214); and at least onealternate action instruction indicating an alternate action to beperformed instead of the at least one candidate action (shown at 1216).In the case of an alternate action instruction, the at least oneprocessor of the robot can replace the at least one candidate actionwith the alternate action, such that subsequently performing the atleast one candidate action comprises performing the alternate action.

Act 812-a in method 1200 shows a specific implementation of act 812shown in FIG. 8. In act 812-a , the at least one processing unit 702 ofthe robot 700 updates the select control paradigm based on the feedbackinput to produce an updated control paradigm. At 1222, the at least oneprocessor 702 increases confidence in the one or more of the at leastone candidate action if the feedback input indicates approval. At 1224,the at least one processor 702 decreases confidence in the one or moreof the at least one candidate action if the feedback input indicatesdisapproval. At 1226, the at least one processor 702 specifies newbehavior or increases the confidence of existing behavior in the selectcontrol paradigm which corresponds to the alternate action. Increasingor decreasing “confidence” refers to altering the control paradigm (e.g.adjusting coefficients in a neural network or similar; applyingdifferent weights to certain actions) to change how the control paradigmwill respond when faced with the same or similar situation in thefuture. Increasing confidence will increase the likelihood that the sameat least one candidate action is determined, whereas decreasingconfidence will reduce the likelihood that the same at least onecandidate action is determined. In the case of specifying new behavior,the control paradigm can be modified to include a new possible at leastone candidate action as a response.

In act 808, the at least one processing unit 702 causes actuation of oneor more of the at least one actuatable component 710 in accordance withone or more of the at least one candidate action. This is performed whenthe feedback input indicates approval (as shown by the flowchart arrowsfrom 1212, to 1222, to 808), or when the feedback input indicates analternate action (as shown by the flowchart arrows from 1216, to 1226,to 808). If the feedback input indicates disapproval, with no indicationof alternate action, the at least one processing unit 702 returns to act806, where a new at least one candidate action is determined. In view ofthe update to the control paradigm in act 812-a , the at least oneprocessing unit 702 should determine a different at least one candidateaction (even if this takes multiple iterations) which will be approvedby an operator (or until an operator provides an alternate actioninstruction).

FIG. 13 is a flowchart diagram of a method 1300. Method 1300 fits withinmethod 800 described above with reference to FIG. 8, with FIG. 13providing additional context and detail regarding another exemplaryimplementation of acts 806, 808, 810, and 812 in method 800 describedwith reference to FIG. 8. Additional acts 1312 and 1314 are described inmethod 1300. Additional acts could be added, acts could be reordered, oracts could be removed, as appropriate for a given application. Inessence, FIG. 13 depicts an implementation where a robot determines atleast one candidate action, performs a candidate action, and receivesfeedback on the performed candidate action, to update a control paradigmfor the future. FIG. 13 illustrates acts from a perspective of a robot.A similar method described from the perspective of a tele-operatorsystem is described with reference to FIG. 16 below. The acts of method1300 are described below with reference to robot 700 and tele-operatorsystem 750 as illustrated in FIG. 7, though other robots ortele-operator systems with similar hardware could also be used.

In act 806, at least one processing unit 702 of robot 700 determines atleast one candidate action of at least one actuatable component 710based on a select control paradigm, as described above with reference toFIG. 8.

In act 808, the at least one processing unit 702 causes actuation of oneor more of the at least one actuatable component 710 in accordance withone or more candidate actions (e.g. one action of the at least onecandidate action, or all actions of the at least one candidate actions),as described above with reference to FIG. 8.

Act 810-b in method 1300 shows a specific implementation of act 810shown in FIG. 8. In act 810-b , the robot 700 receives, by communicationinterface 706 or 708, positive or negative feedback input on theactuation of the one or more of the at least one actuatable component710 in accordance with the candidate action. This feedback input can bereceived from an operator by input device 758 of tele-operation system750, and sent to robot 700 by communication interface 756 or 708.“Positive” feedback input means the operator approves of the actuation.Alternative terms for positive could include: approving, affirmative, orreinforcing, as examples. “Negative” feedback input means the operatordisapproves of the actuation. Alternative terms for negative couldinclude: disapproving, dissenting, disagreeing, or critical, asexamples.

Act 812-b in method 1300 shows a specific implementation of act 812shown in FIG. 8. In act 812-b , the at least one processing unit 702 ofthe robot 700 updates the select control paradigm based on the feedbackinput to produce an updated control paradigm. At 1312, the at least oneprocessor 702 increases confidence in the candidate action if thefeedback input is positive. At 1314, the at least one processordecreases confidence in the candidate action if the feedback input isnegative. These modifications to confidence in actions trains thecontrol paradigm to determine more appropriate candidate actions in thefuture.

In some implementations, non-transitory processor-readable storagemedium 704 of robot 700 can have instructions stored thereon which, whenexecuted by the at least one processing unit 702 of the robot 700, causethe robot 700 to perform method 1200 as detailed in FIG. 12 or method1300 as detailed in FIG. 13. For acts which involve causing robot 700 toreceive input, such as acts 810-a , when implemented as instructionssuch instructions can cause the robot 700 to monitor for an inputsignal, detect an input signal, and/or process a detected input signal.This applies to similar acts of receiving input throughout thisdisclosure.

FIG. 14 is a flowchart diagram showing an exemplary method 1400 ofoperation of a robot via a tele-operation system in accordance with thepresent disclosure. The robot operated could for example be robot 700,and the tele-operation system could be tele-operation system 750described with reference to FIG. 7. Some reference numerals used indescribing FIG. 14 refer to components in FIG. 7, though other robots ortele-operation systems could be used as appropriate for a givenapplication. Method 1400 as illustrated includes acts 1402, 1404, 1406,1408, 1410, and 1412, though those of skill in the art will appreciatethat in alternative implementations certain acts may be omitted and/oradditional acts may be added. Those of skill in the art will alsoappreciate that the illustrated order of the acts is shown for exemplarypurposes only and may change in alternative implementations. The acts ofmethod 1400 are described from the perspective of tele-operation system750, though other tele-operation systems with similar hardware could beused instead.

At 1402, input device 758 receives control selection input indicating aselect control paradigm from a plurality of control paradigms. Thecontrol selection input can indicate the select control paradigm fromthe plurality of control paradigms based on at least one propertyselected from a group consisting of: a task to be performed by therobot; a description of a human operator of the tele-operation system;and a description of the select control paradigm. Examples of controlselection input are described in detail above with reference to FIGS.9-11, and are applicable to method 1400.

At 1404, the at least one processing unit 752 selects the select controlparadigm from the plurality of control paradigms based on the receivedcontrol selection input. Examples of selecting a select control paradigmbased on control selection input are also described in detail above withreference to FIGS. 9, 10A, 10B, and 11, and are applicable to method1400.

At 1406, an indication of the select control paradigm is sent bycommunication interface 756 or 708, to be received by at least one robot(e.g. robot 700). This is so the robot 700 can access the select controlparadigm. In some implementations, the plurality of control paradigmsare stored on non-transitory processor-readable storage medium 704 ofrobot 700. In such implementations, an indication of the select controlparadigm, such as an identification number or storage address, is sentto robot 700. In other implementations, the plurality of controlparadigms are stored on non-transitory processor-readable medium 754. Insuch implementations, sending the indication of the select controlparadigm can include sending a digital copy of and/or data correspondingto the select control paradigm itself to robot 700. In yet otherimplementations, non-transitory processor-readable storage medium 754 isremote from the other components of tele-operation system 750, andsending the indication of the select control paradigm can include accessinformation (e.g., storage location, IP address, security clearanceinformation, or other pertinent information) so that robot 700 canretrieve a digital copy of and/or data corresponding to the selectcontrol paradigm from non-transitory processor-readable storage medium754.

At 1408, the at least one input device 758 receives feedback input on atleast one candidate action to be performed by the at least one robotbased on the select control paradigm. In some implementations, act 1408can be performed prior to robot 700 performing a candidate action (as isdiscussed in detail later with reference to FIG. 15). In otherimplementations, act 1408 can be performed after robot 700 performs acandidate action (as is discussed in detail later with reference to FIG.16).

At 1410, the at least one processing unit 752 determines at least oneupdate to the select control paradigm based on the feedback input.Detailed means for receiving feedback input and updating the selectcontrol paradigm are discussed later with reference to FIGS. 15 and 16.

At 1412, the at least one processing unit 752 provides instructions tostore an updated control paradigm for subsequent access based on the atleast one update. For example, the at least one processing unit 752 canproduce an updated control paradigm, by modifying the select controlparadigm with the determined at least one update, and provide thisupdated control paradigm for storage, such as in non-transitoryprocessor-readable storage medium 704 or 754. As another example, the atleast one processing unit 752 can produce an update instruction, whichwhen provided to another processing unit causes the another processingunit to update the select control paradigm based on the updateinstruction. This is useful for example if the select control paradigmis stored remotely from the at least one processing unit 752, such aswhen the select control paradigm is stored on non-transitoryprocessor-readable medium 704, or when non-transitory processor-readablestorage medium 754 is remote from the other components of tele-operationsystem 750. In some examples the updated control paradigm can replacethe select control paradigm in storage. In other examples the updatedcontrol paradigm can be stored in addition to the select controlparadigm, so that either the updated or non-updated control paradigm canbe accessed in the future.

In some implementations, non-transitory processor-readable storagemedium 754 of tele-operation system 750 can have instructions storedthereon which, when executed by the at least on processing unit 752,cause tele-operation system 750 to perform method 1400 as illustrated inFIG. 14. For acts which involve causing tele-operation system 750 toreceive input or data, such as acts 1402 and 1408, when implemented asinstructions such instructions can cause the tele-operation system 750to monitor for an input signal, detect an input signal, and/or process adetected input signal. This applies to similar acts of receiving inputthroughout this disclosure.

FIG. 15 is a flowchart diagram of a method 1500. Method 1500 fits withinmethod 1400 described above with reference to FIG. 14, with FIG. 15providing additional context and detail regarding an exemplaryimplementation of acts 1408 and 1410 in method 1400. Additional acts1502, 1504, 1522, 1524, and 1526 are described in method 1500. Further,different feedback inputs are labelled as 1512, 1514, 1516. Additionalacts could be added, acts could be reordered, or acts could be removed,as appropriate for a given application. In essence, FIG. 15 depicts animplementation where an operator of a tele-operation system providesfeedback input on at least one candidate action prior to a robotperforming the at least one candidate action. FIG. 15 illustrates actsfrom a perspective of a tele-operation system (such as tele-operationsystem 750 in FIG. 7). A similar method described from the perspectiveof a robot is described above with reference to FIG. 12. The acts ofmethod 1500 are described below with reference to robot 700 andtele-operator system 750 as illustrated in FIG. 7, though other robotsor tele-operator systems with similar hardware could also be used.

In act 1502, tele-operation system 750 receives an indication of atleast one candidate action to be performed by at least one robot 700based on a select control paradigm. For example, communication interface756 or 708 of tele-operation system 750 can receive a signal or signalsfrom robot 700, which are indicative of at least one candidate action tobe performed by robot 700 before the action is performed.

Act 1408-a in method 1500 shows a specific implementation of act 1408shown in FIG. 14. In act 1408-a , the tele-operation system 750receives, by at least one input device 758, a feedback input from anoperator on the at least one candidate action. The feedback inputcomprises at least one instruction selected from a group consisting of:approval to proceed with one or more actions of the at least onecandidate action (shown at 1512); disapproval to proceed with the atleast one candidate action (shown at 1514); and at least one alternateaction instruction indicating an alternate action to be performedinstead of the at least one candidate action (shown at 1516). In thecase of an alternate action instruction, the at least one candidateaction can be replaced with the alternate action, such that subsequentlyperforming the at least one candidate action comprises performing thealternate action.

Act 1410-a in method 1500 shows a specific implementation of act 1410shown in FIG. 14. In act 1410-a , the at least one processing unit 752of the tele-operator system 750 determines at least one update to theselect control paradigm based on the feedback input. At 1522, the atleast one processor 752 increases confidence in the one or more of theat least one candidate action if the feedback input indicates approvalat 1512. At 1524, the at least one processor 752 decreases confidence inthe at least one candidate action if the feedback input indicatesdisapproval at 1514. At 1526, the at least one processor 752 specifiesnew behavior or increases the confidence of existing behavior in theselect control paradigm which corresponds to the alternate action at1516. Similar to as discussed regarding FIG. 12, increasing ordecreasing “confidence” refers to altering the control paradigm (e.g.adjusting coefficients in a neural network or similar; changing weightsfor certain actions in the control paradigm) to change how the controlparadigm will respond when faced with the same or similar situation inthe future. Increasing confidence will increase the likelihood that thesame at least one candidate action is determined, whereas decreasingconfidence will reduce the likelihood that the same at least onecandidate action is determined. In the case of specifying new behavior,the control paradigm can be modified to include a new possible at leastone candidate action as a response.

In act 1504, the feedback input is sent to the robot 700 by thecommunication interface 756 or 708. This is performed when the feedbackinput indicates approval (as shown by the flowchart arrows from 1512, to1522, to 1504), when the feedback input indicates an alternate action(as shown by the flowchart arrows from 1516, to 1526, to 1504), or whenthe feedback input indicates disapproval (as shown by the flowchartarrows from 1514, to 1524, to 1504). If the feedback input indicates anapproval or an alternate action, the robot 700 may perform theappropriate action. If the feedback input indicates disapproval, with noindication of alternate action, the processing unit 702 of the robot 700can determine a new at least one candidate action, and an indication ofthe new at least one candidate action is sent to the tele-operationsystem 750, to be received as in act 1502. That is, if the feedbackinput indicates disapproval with no alternate action, method 1500 can berepeated without performing an action. In view of the update to thecontrol paradigm in act 1410-a , the at least one processing unit 702 ofthe robot 700 should determine a different at least one candidate action(even if this takes multiple iterations) which will be approved by anoperator (or until an operator provides an alternate actioninstruction).

FIG. 16 is a flowchart diagram of a method 1600. Method 1600 fits withinmethod 1400 described above with reference to FIG. 14, with FIG. 16providing additional context and detail regarding an exemplaryimplementation of acts 1408 and 1410 in method 1400. Additional acts1612 and 1614 are described in method 1600. Additional acts could beadded, acts could be reordered, or acts could be removed, as appropriatefor a given application. In essence, FIG. 16 depicts an implementationwhere a tele-operation system receives input on an action performed by arobot, to update a control paradigm for the future. FIG. 16 illustratesacts from a perspective of the tele-operation system. A similar methoddescribed from the perspective of a robot is described above withreference to FIG. 13. The acts of method 1600 are described below withreference to robot 700 and tele-operator system 750 as illustrated inFIG. 7, though other robots or tele-operator systems with similarhardware could also be used.

Act 1408-b in method 1600 shows a specific implementation of act 1408shown in FIG. 14. In act 1408-b , at least one input device 758 oftele-operation system 750 receives positive or negative feedback inputfrom an operator on an action of a robot 700 after the robot 700performs the action. As discussed above regarding FIG. 13, “positive”feedback input means an operator approves of the actuation. Alternativeterms for positive could include: approving, affirmative, orreinforcing, as examples. “Negative” feedback input means an operatordisapproves of the actuation. Alternative terms for negative couldinclude: disapproving, dissenting, disagreeing, or critical, asexamples. For example, an operator of the teleoperation system canprovide input by the at least one input device 758. The input can bebinary, where “positive” input affirms that the action performed by therobot was correct, whereas “negative” input indicates that the actionperformed by the robot was incorrect. In some implementations, anoperator can provide “negative” input indicating an alternate actionthat should have been performed instead (and thus at least implicitlyindicating the performed action by the robot was incorrect).

Act 1410-b in method 1600 shows a specific implementation of act 1410shown in FIG. 14. In act 1410-b , at least one processing unit 752 ofthe tele-operation system 750 determines at least one update to theselect control paradigm based on the feedback input. In act 1612, wherethe feedback input was positive, the at least one processor 752determines an update which increases confidence in the performed action.In act 1614, where the feedback input was negative, the at least oneprocessor 752 determines an update which decreases confidence in theperformed action. In cases where an operator provides feedback inputindicating an alternate action, the at least one processor 752 candetermine an update which increases confidence in the alternate action,or specifies new behavior in the select control paradigm directed to thealternate action.

In some implementations, a non-transitory processor-readable storagemedium 754 of tele-operation system 750 can have instructions storedthereon which, when executed by at least one processing unit 752 of thetele-operation system 750, cause the tele-operation system 750 toperform method 1500 as detailed in FIG. 15 or method 1600 as detailed in

FIG. 16. For acts which involve causing tele-operation system 750 toreceive input or data, such as acts 1502, 1408-a , or 1408-b , whenimplemented as instructions such instructions can cause thetele-operation system 750 to monitor for an input signal, detect aninput signal, and/or process a detected input signal. This applies tosimilar acts of receiving input throughout this disclosure.

The various implementations described herein may be combined with any orall of the systems, devices, and methods described in U.S. ProvisionalPatent Application Ser. No. 63/151,044, filed Feb. 18, 2021 and entitled“Systems, Devices, and Methods for Multi-Purpose Robots” (now U.S.Non-Provisional patent application Ser. No. 17/566,589), U.S.Provisional Patent Application Ser. No. 63/173,670, filed Apr. 12, 2021and entitled “SYSTEMS, DEVICES, AND METHODS FOR DEVELOPING ROBOTAUTONOMY” (now U.S. Non-Provisional patent application Ser. No.17/719,110), U.S. Provisional Patent Application Ser. No. 63/191,732,U.S. Provisional Patent Application Ser. No. 63/253,591, U.S.Provisional Patent Application Ser. No. 63/316,693, and/or U.S.Provisional Patent Application Ser. No. 63/332,750, all of which areincorporated herein by reference in their entirety.

Throughout this specification and the appended claims the term“communicative” as in “communicative coupling” and in variants such as“communicatively coupled,” is generally used to refer to any engineeredarrangement for transferring and/or exchanging information. For example,a communicative coupling may be achieved through a variety of differentmedia and/or forms of communicative pathways, including withoutlimitation: electrically conductive pathways (e.g., electricallyconductive wires, electrically conductive traces), magnetic pathways(e.g., magnetic media), wireless signal transfer (e.g., radio frequencyantennae), and/or optical pathways (e.g., optical fiber). Exemplarycommunicative couplings include, but are not limited to: electricalcouplings, magnetic couplings, radio frequency couplings, and/or opticalcouplings.

Throughout this specification and the appended claims, infinitive verbforms are often used. Examples include, without limitation: “to encode,”“to provide,” “to store,” and the like. Unless the specific contextrequires otherwise, such infinitive verb forms are used in an open,inclusive sense, that is as “to, at least, encode,” “to, at least,provide,” “to, at least, store,” and so on.

This specification, including the drawings and the abstract, is notintended to be an exhaustive or limiting description of allimplementations and embodiments of the present systems, devices, andmethods. A person of skill in the art will appreciate that the variousdescriptions and drawings provided may be modified without departingfrom the spirit and scope of the disclosure. In particular, theteachings herein are not intended to be limited by or to theillustrative examples of computer systems and computing environmentsprovided.

This specification provides various implementations and embodiments inthe form of block diagrams, schematics, flowcharts, and examples. Aperson skilled in the art will understand that any function and/oroperation within such block diagrams, schematics, flowcharts, orexamples can be implemented, individually and/or collectively, by a widerange of hardware, software, and/or firmware. For example, the variousembodiments disclosed herein, in whole or in part, can be equivalentlyimplemented in one or more: application-specific integrated circuit(s)(i.e., ASICs); standard integrated circuit(s); computer program(s)executed by any number of computers (e.g., program(s) running on anynumber of computer systems); program(s) executed by any number ofcontrollers (e.g., microcontrollers); and/or program(s) executed by anynumber of processors (e.g., microprocessors, central processing units,graphical processing units), as well as in firmware, and in anycombination of the foregoing.

Throughout this specification and the appended claims, a “processingunit” (or alternately, a “processor”) is a device which can executeinstructions, logic, or programs, to perform various acts ormanipulations of data. A processing unit can for example be implementedas application-specific integrated circuit(s) (i.e., ASICs),field-programmable gate arrays (FPGAs), programmable logic devices(PLDs), logic circuits, or any other appropriate hardware which canreceive and process (act on or manipulate) data.

Throughout this specification and the appended claims, a “storagemedium” is a processor-readable medium that is an electronic, magnetic,optical, electromagnetic, infrared, semiconductor, or other physicaldevice or means that contains or stores processor data, data objects,logic, instructions, and/or programs. When data, data objects, logic,instructions, and/or programs are implemented as software and stored ina memory or storage medium, such can be stored in any suitableprocessor-readable medium for use by any suitable processor-relatedinstruction execution system, apparatus, or device, such as acomputer-based system, processor-containing system, or other system thatcan fetch the data, data objects, logic, instructions, and/or programsfrom the memory or storage medium and perform various acts ormanipulations (i.e., processing steps) thereon and/or in responsethereto. Thus, a “non-transitory processor-readable storage medium” canbe any element that stores the data, data objects, logic, instructions,and/or programs for use by or in connection with the instructionexecution system, apparatus, and/or device. As specific non-limitingexamples, the processor-readable medium can be: a portable computerdiskette (magnetic, compact flash card, secure digital, or the like), arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM, EEPROM, or Flash memory), aportable compact disc read-only memory (CDROM), digital tape, and/or anyother non-transitory medium.

The claims of the disclosure are below. This disclosure is intended tosupport, enable, and illustrate the claims but is not intended to limitthe scope of the claims to any specific implementations or embodiments.In general, the claims should be construed to include all possibleimplementations and embodiments along with the full scope of equivalentsto which such claims are entitled.

1. A method of operation of at least one robot via a tele-operationsystem, the tele-operation system comprising at least one processingunit, at least one input device, and a communication interfacecommunicatively coupled to the at least one robot, the methodcomprising: receiving, by the at least one input device, controlselection input indicating a select control paradigm from a plurality ofcontrol paradigms; selecting, by the at least one processing unit, theselect control paradigm from the plurality of control paradigms, basedon the received control selection input; sending, by the communicationinterface, to be received by the at least one robot, an indication ofthe select control paradigm; receiving, by the at least one inputdevice, feedback input on at least one candidate action to be performedby the at least one robot based on the select control paradigm; anddetermining, by the at least one processing unit, at least one update tothe select control paradigm based on the feedback input.
 2. The methodof claim 1 wherein receiving, by the at least one input device, controlselection input indicating a select control paradigm from a plurality ofcontrol paradigms includes receiving, by the at least one input device,control selection input indicating the select control paradigm from theplurality of control paradigms based on at least one property selectedfrom a group consisting of: a task to be performed by the robot; adescription of a human operator of the tele-operation system; and adescription of the select control paradigm.
 3. The method of claim 1,wherein: the tele-operation system is operable by a plurality ofcandidate human operators, the plurality of control paradigms includinga respective control paradigm specific to each respective candidatehuman operator; receiving the control selection input includes receivingan identification of a particular human operator from the plurality ofcandidate human operators; and selecting the select control paradigmcomprises selecting the control paradigm specific to the particularhuman operator identified in the control selection input.
 4. The methodof claim 1, wherein: the tele-operation system is operable by aplurality of candidate human operators; a plurality of subsets of humanoperators are defined among the plurality of candidate human operators,the plurality of control paradigms including a respective controlparadigm specific to each subset of human operators; receiving, by theat least one input device, control selection input indicating a selectcontrol paradigm from a plurality of control paradigms includesreceiving, by the at least one input device, control selection inputindicating a description of a human operator of the tele-operationsystem; and selecting the select control paradigm comprises selectingthe control paradigm specific to a subset of human operatorscorresponding to the description of the human operator in the controlselection input.
 5. The method of claim 1, wherein: each controlparadigm in the plurality of control paradigms is specific to arespective set of tasks in a plurality of sets of tasks to be performedby the robot; receiving, by the at least one input device, controlselection input indicating a select control paradigm from a plurality ofcontrol paradigms includes receiving, by the at least one input device,control selection input indicating at least one task to be performed bythe robot; and selecting the select control paradigm comprises selectinga control paradigm specific to a set of tasks which includes the atleast one task indicated in the control selection input.
 6. The methodof claim 1, further comprising receiving, by the communicationinterface, an indication of at least one candidate action to beperformed by the at least one robot based on the select controlparadigm, wherein: receiving feedback input on at least one candidateaction occurs before the at least one candidate action is performed bythe robot; receiving feedback input on the at least one candidate actioncomprises receiving, by the at least one input device at least onefeedback input selected from a group consisting of: approval to proceedwith at least one candidate action; disapproval to proceed with the atleast one candidate action; and at least one alternate actioninstruction indicating at least one alternate action to be performedinstead of the at least one candidate action; and the method furthercomprises sending, by the communication interface, the feedback input tobe received by the at least one robot.
 7. The method of claim 6, whereindetermining, by the at least processing unit, at least one update to theselect control paradigm based on the feedback input comprises:increasing confidence in the at least one candidate action if thefeedback input indicates approval; decreasing confidence in the at leastone candidate action if the feedback input indicates disapproval; orspecifying new behavior or increasing the confidence of existingbehavior in the select control paradigm which corresponds to the atleast one alternate action.
 8. The method of claim 1, wherein receivingfeedback input on the at least one candidate action occurs after acandidate action is performed by the robot, and receiving feedback inputon the performed action comprises receiving, by the at least one inputdevice, positive or negative feedback input on the performed action,wherein determining, by the at least processing unit, at least oneupdate to the select control paradigm based on the feedback inputcomprises: increasing confidence in the performed action if the feedbackinput is positive; or decreasing confidence in the performed action ifthe feedback input is negative.
 9. The method of claim 1, wherein: theselect control paradigm is stored on a non-transitory processor-readablestorage medium included in the tele-operation system; and sending, bythe communication interface, to be received by the at least one robot,an indication of the select control paradigm comprises: sending, by thecommunication interface, to be received by the at least one robot, theselect control paradigm.
 10. The method of claim 1, wherein: the selectcontrol paradigm is stored on a non-transitory processor-readablestorage medium remote from the tele-operation system; and sending, bythe communication interface, to be received by the at least one robot,an indication of the select control paradigm comprises: sending, by thecommunication interface, an indication of the select control paradigmwithout sending contents of the select control paradigm itself.
 11. Themethod of claim 1, further comprising providing, by the at least oneprocessing unit, instructions to store an updated control paradigm forsubsequent access based on the at least one update.